package com.augurit.gzcgwsp.ssgd.qx.service;

import java.util.Date;
import java.util.List;
import java.util.Map;
import com.augurit.common.base.service.ICrudService;
import com.augurit.common.system.web.auth.form.LoginUserForm;
import com.augurit.gzcgwsp.ssgd.entity.YwRqSsgdSqb;
import com.augurit.gzcgwsp.ssgd.web.form.YwRqSsgdSqbForm;

public interface IYwRqSsgdSqbQxService extends ICrudService<YwRqSsgdSqbForm, Long> {
    public void changeYslState(Long id, Long state,String yslThyy);
	public void changeIsycbl(Long id, String state);
    public void endSave(Long id);
    	//通过案件号获得实体类
    public List<YwRqSsgdSqb> getByAcceptNo(String acceptNo);
    
    /**
	 * 通过ID号,改变案件公示状态
	 * @param id
	 * @return 
	 */
	public boolean changeIsAjgsById(String state,Long id,Date date,Date endDate);
	/**
	 * 通过ID号,改变窗口是否可打印受理通知书状态(1为是；0和空为否)
	 * @param id 
	 * @return 
	 */
	public void changeSendAcceptNotice(Long id);
	
	/**
	 * 通过ID号,改变窗口是否可打印延期办理结果通知书状态(1为是；0和空为否)
	 * @param id 
	 * @return 
	 */
	public void changeSendYqNotice(Long id);
	
	/**
     * 通过id改变SendAcceptNotice或者SendNotice状态,点击受理通知书和延期通知书页面的[已打印]时，调用
     * @return
     * @throws Exception
     */
	public void changeSendAcceptNoticeOrSendNoticeById(Long id,String sendYqNotice,String sendAcceptNotice,String templateCode);
	
	/**
	 * 根据ID获得对象实体
	 * @param id
	 * @return
	 */  
	public YwRqSsgdSqb getEntity(Long id);
	
	/**
     * 保存对象实体
     * @param ywRqSsgdSqb
     */     
    public void saveEntity(YwRqSsgdSqb ywRqSsgdSqb);
    
    /**
     * 检查收件材料是否存在
     * @param templateCode 模版编号
     * @param filename 文件名称
     * @param id 
     * @param qyid
     * @return
     */
	public boolean checkData(String templateCode, String filename, Long id,
			Long qyid);
	/**
	 * 从申请表导入信息
	 * @param form
	 * @param map
	 * @return
	 */
	public String importData(YwRqSsgdSqbForm form, Map map);
	
	public String wfBusYslTuih(YwRqSsgdSqbForm form,LoginUserForm loginUser) throws Exception;
}